$(function () {

    // 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器
    // 歌曲信息
    const songsList = [
        {
            id: '01',
            title: "don't look down",
            author: 'Martin Garrix',
            path: "./common/music/Martin Garrix、Usher - Don't Look Down.mp3",
            bgpath: './common/images/马丁.jpg',
            time: 0
        },
        {
            id: '02',
            title: 'zood',
            author: '丁真',
            path: './common/music/晚美无瑕 - Zood.mp3',
            bgpath: './common/images/丁真2.jpg',
            time: 0
        },
        {
            id: '03',
            title: 'Titanium',
            author: 'David Guetta',
            path: './common/music/David Guetta、Sia - Titanium.mp3',
            bgpath: './common/images/109951166733094469.jpg',
            time: 0
        },
        {
            id: '04',
            title: 'The Set',
            author: 'Favored Nations',
            path: './common/music/Favored Nations - The Set Up.mp3',
            bgpath: './common/images/给他爱.jpg',
            time: 0
        },
        {
            id: '05',
            title: 'One Last Time',
            author: 'Ariana Grande',
            path: './common/music/Ariana Grande - One Last Time.mp3',
            bgpath: './common/images/olt.jpg',
            time: 0
        }
    ];


    // 获取DOM元素
    const audio = $('#audio');
    const bgimg = $('#bg-img');
    const controls = $('#controls');
    const title = $('#title');
    const author = $('#author');
    const playbtn = $('#play');
    const voicbtn = $('#voice');
    const volume_val = $('#volume');
    const slider = $('#duration_slider');
    const endtimer = $('#end');
    const starttimer = $('#start');
    const player = $('.player');

    let timer;


    // 当前播放歌曲
    let curSongIndex = 0;

    // 是否在播放
    let isPlay = false;

    // 初始化
    function init() {
        render(songsList[curSongIndex]);
    }


    // 按钮事件
    controls.on('click', function (e) {
        switch (e.target?.id) {
            case 'list':
                break;
            case 'voice':
                // 声音开关
                voiceControl();
                break;
            case 'pre':
                // 上一首
                preSong();
                break;
            case 'play':
                // 播放暂停
                togglePlay();
                break;
            case 'next':
                // 下一首
                nextSong();
                break;
            case 'mode':
                break;

        }
    })

    // 渲染歌曲方法
    function render(song) {
        title.html(song.title);
        author.html(song.author);
        bgimg.attr('src', song.bgpath);
        audio[0].volume = volume_val.val() / 100;
        audio.attr('src', song.path);
        timer = setInterval(range_slider, 1000);  //设置时间触发
    }


    // 播放暂停
    function togglePlay() {
        if (!isPlay) {
            // 播放
            songPlay();
        } else {
            // 暂停
            songPause();
        }
    };


    // 播放
    function songPlay() {
        isPlay = true;
        playbtn.removeClass('bi bi-skip-start-fill');
        playbtn.addClass('bi bi-pause-fill');
        audio[0].play();
    }

    // 暂停
    function songPause() {
        isPlay = false;
        playbtn.removeClass('bi bi-pause-fill');
        playbtn.addClass('bi bi-skip-start-fill');
        audio[0].pause();
    }

    // 上一首
    function preSong() {
        if (curSongIndex > 0) {
            curSongIndex--;
            render(songsList[curSongIndex]);
            songPlay();
        }
    }

    $('#next').click(function () {

    })
    // 下一首
    function nextSong() {
        if (curSongIndex < songsList.length - 1) {
            curSongIndex++;
            render(songsList[curSongIndex]);
            songPlay();
        }
    }

    // 声音开关
    function voiceControl() {
        if (audio[0].volume > 0) {
            voiceOff();
        } else {
            voiceOn();
        }
    }

    // 声音开
    function voiceOn() {
        audio[0].volume = volume_val.val() / 100;
        voicbtn.removeClass('bi bi-volume-mute-fill');
        voicbtn.addClass('bi bi-volume-down-fill');
    }

    // 声音关
    function voiceOff() {
        audio[0].volume = 0;
        voicbtn.removeClass('bi bi-volume-down-fill');
        voicbtn.addClass('bi bi-volume-mute-fill');
    }

    // 改变音量
    volume_val.change(function () {
        audio[0].volume = volume_val.val() / 100;  //volum的值为0~1，把range值(0~100)化为0~1再专递到volume
    })

    
    // 改变时长
    slider.change(function () {
        slider_position = audio[0].duration * (slider.val() / 100);   //设置改变位置，将range改变的值化为0~1
        audio[0].currentTime = slider_position;    //传递给总时长
        songPlay();    //时长改变无视暂停
    })

    // 获取进度条(实时更新,每秒触发)
    function range_slider() {
        let position = 0;   //设置默认位置
        audio.on('play', function () {
        });
        if (!isNaN(audio[0].duration)) {   //检测总时长是否为非数字
            var endminuter = (audio[0].duration / 60).toFixed(2);
            var startminuter = ((audio[0].currentTime)/60).toFixed(2);
            starttimer.html(startminuter);
            endtimer.html(endminuter);
            position = audio[0].currentTime * (100 / audio[0].duration);   //设置已播放时长占总时长多少再化为0~100
            console.log()
            slider.val(position);      //传递给range
        }
    }

    init();


    // 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器// 播放器
})